package com.iris.live.services.data.models;

import com.fasterxml.jackson.annotation.JsonProperty;

import javax.persistence.*;
import java.sql.Timestamp;
import java.util.Date;

/**
 * Created by xin on 2016/7/11.
 */
@SuppressWarnings("JpaDataSourceORMInspection")
@Entity
@Table(name = "邀约跟进记录表", schema = "sg_lsh", catalog = "")
public class 邀约跟进记录表Model {
    private Integer 编号;
    private Integer 顾客编号;
    private String 销售顾问;
    private Date 跟进日期;
    private String 跟进结果;
    private String 跟进备注;
    private String 模式;
    private Timestamp 更新时间;

    @Id @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "编号")
    @JsonProperty("编号")
    public Integer get编号() {
        return 编号;
    }

    public void set编号(Integer 编号) {
        this.编号 = 编号;
    }

    @Basic
    @Column(name = "顾客编号")
    @JsonProperty("顾客编号")
    public Integer get顾客编号() {
        return 顾客编号;
    }

    public void set顾客编号(Integer 顾客编号) {
        this.顾客编号 = 顾客编号;
    }

    @Basic
    @Column(name = "销售顾问")
    @JsonProperty("销售顾问")
    public String get销售顾问() {
        return 销售顾问;
    }

    public void set销售顾问(String 销售顾问) {
        this.销售顾问 = 销售顾问;
    }

    @Basic
    @Column(name = "跟进日期")
    @JsonProperty("跟进日期")
    public Date get跟进日期() {
        return 跟进日期;
    }

    public void set跟进日期(Date 跟进日期) {
        this.跟进日期 = 跟进日期;
    }

    @Basic
    @Column(name = "跟进结果")
    @JsonProperty("跟进结果")
    public String get跟进结果() {
        return 跟进结果;
    }

    public void set跟进结果(String 跟进结果) {
        this.跟进结果 = 跟进结果;
    }

    @Basic
    @Column(name = "跟进备注")
    @JsonProperty("跟进备注")
    public String get跟进备注() {
        return 跟进备注;
    }

    public void set跟进备注(String 跟进备注) {
        this.跟进备注 = 跟进备注;
    }

    @Basic
    @Column(name = "模式")
    @JsonProperty("模式")
    public String get模式() {
        return 模式;
    }

    public void set模式(String 模式) {
        this.模式 = 模式;
    }

    @Basic
    @Column(name = "更新时间")
    @JsonProperty("更新时间")
    public Timestamp get更新时间() {
        return 更新时间;
    }

    public void set更新时间(Timestamp 更新时间) {
        this.更新时间 = 更新时间;
    }

    @PrePersist
    @PreUpdate
    public void onPreUpdate() {
        this.set更新时间(new Timestamp(System.currentTimeMillis()));
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        邀约跟进记录表Model that = (邀约跟进记录表Model) o;

        if (编号 != null ? !编号.equals(that.编号) : that.编号 != null) return false;
        if (顾客编号 != null ? !顾客编号.equals(that.顾客编号) : that.顾客编号 != null) return false;
        if (销售顾问 != null ? !销售顾问.equals(that.销售顾问) : that.销售顾问 != null) return false;
        if (跟进日期 != null ? !跟进日期.equals(that.跟进日期) : that.跟进日期 != null) return false;
        if (跟进结果 != null ? !跟进结果.equals(that.跟进结果) : that.跟进结果 != null) return false;
        if (跟进备注 != null ? !跟进备注.equals(that.跟进备注) : that.跟进备注 != null) return false;
        if (模式 != null ? !模式.equals(that.模式) : that.模式 != null) return false;
        if (更新时间 != null ? !更新时间.equals(that.更新时间) : that.更新时间 != null) return false;

        return true;
    }

    @Override
    public int hashCode() {
        int result = (编号 != null ? 编号.hashCode() : 0);
        result = 31 * result + (顾客编号 != null ? 顾客编号.hashCode() : 0);
        result = 31 * result + (销售顾问 != null ? 销售顾问.hashCode() : 0);
        result = 31 * result + (跟进日期 != null ? 跟进日期.hashCode() : 0);
        result = 31 * result + (跟进结果 != null ? 跟进结果.hashCode() : 0);
        result = 31 * result + (跟进备注 != null ? 跟进备注.hashCode() : 0);
        result = 31 * result + (模式 != null ? 模式.hashCode() : 0);
        result = 31 * result + (更新时间 != null ? 更新时间.hashCode() : 0);
        return result;
    }
}
